package cn.fl.project.transform;

import java.util.ArrayList;
import java.util.List;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.project.dto.PrjCstAssMbInfoDTO;
import cn.fl.project.vo.PrjCstAssMbInfoVO;

 /**
 * @Description: 项目客户资产抵押担保信息表 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据 
 * @Description: VO转换数据变成DTO传递到服务端 
 * @Description: VO不能在服务端出现
 */
public class PrjCstAssMbInfoVOTransform {


	/**
	 * DTO 转  VO
	 * @param po PrjCstAssMbInfoDTO
	 * @return PrjCstAssMbInfoVO
	 */
	public static PrjCstAssMbInfoVO toVO(PrjCstAssMbInfoDTO dto) {
		PrjCstAssMbInfoVO  vo = null;
		if (dto != null) { 
			vo = new PrjCstAssMbInfoVO();
			vo.setId(dto.getId());
			vo.setPrjId(dto.getPrjId());//项目ID
			vo.setCstId(dto.getCstId());//客户ID
			vo.setAssPropCd(dto.getAssPropCd());//资产属性（CST0019）
			vo.setAssNm(dto.getAssNm());//资产名称
			vo.setBrNm(dto.getBrNm());//资产品牌
			vo.setAssOwner(dto.getAssOwner());//所有权人
			vo.setAssRlCd(dto.getAssRlCd());//与申请人关系（PRJ0019）
			vo.setMStsCd(dto.getMStsCd());//抵押状况（PRJ0020）
			vo.setPurchDt(dto.getPurchDt());//购买时间
			vo.setUntPc(dto.getUntPc());//买入价格（万元）
			vo.setValue(dto.getValue());//现估值（万元）
			vo.setAssNo(dto.getAssNo());//设备号牌/房产登记号
			vo.setAssSts(dto.getAssSts());//ASS_STS
			vo.setNatureCd(dto.getNatureCd());//权属性质（PRJ0021）
			vo.setArea(dto.getArea());//面积（平方米）
			vo.setAddr(dto.getAddr());//地址
			vo.setIsDel(dto.getIsDel());//是否删除（1：是，0：否）
			vo.setmStsCdNm(dto.getmStsCdNm());//抵押状况名称
			vo.setNatureCdNm(dto.getNatureCdNm());// 权属性质名称
			vo.setAssRlCdNm(dto.getAssRlCdNm());//与申请人关系名称
			vo.setAssRem(dto.getAssRem());//备注
			vo.setOthAssTyp(dto.getOthAssTyp());//其他资产类型
			
			vo.setCstRlCd(dto.getCstRlCd());
			vo.setCrtTm(dto.getCrtTm());//创建时间
			vo.setCrtUsrId(dto.getCrtUsrId());//创建人
			vo.setMdfTm(dto.getMdfTm());//修改时间
			vo.setMdfUsrId(dto.getMdfUsrId());//修改人
		}
		return vo;
	}

	/**
	 * VO 转 DTO
	 * @param dto PrjCstAssMbInfoVO
	 * @return PrjCstAssMbInfoDTO
	 */
	public static PrjCstAssMbInfoDTO toDTO(PrjCstAssMbInfoVO vo) {
		PrjCstAssMbInfoDTO dto = null;
		if (vo != null) {
			dto = new PrjCstAssMbInfoDTO();
			dto.setId(vo.getId());
			dto.setPrjId(vo.getPrjId());//项目ID
			dto.setCstId(vo.getCstId());//客户ID
			dto.setAssPropCd(vo.getAssPropCd());//资产属性（CST0019）
			dto.setAssNm(vo.getAssNm());//资产名称
			dto.setBrNm(vo.getBrNm());//资产品牌
			dto.setAssOwner(vo.getAssOwner());//所有权人
			dto.setAssRlCd(vo.getAssRlCd());//与申请人关系（PRJ0019）
			dto.setMStsCd(vo.getMStsCd());//抵押状况（PRJ0020）
			dto.setPurchDt(vo.getPurchDt());//购买时间
			dto.setUntPc(vo.getUntPc());//买入价格（万元）
			dto.setValue(vo.getValue());//现估值（万元）
			dto.setAssNo(vo.getAssNo());//设备号牌/房产登记号
			dto.setAssSts(vo.getAssSts());//ASS_STS
			dto.setNatureCd(vo.getNatureCd());//权属性质（PRJ0021）
			dto.setArea(vo.getArea());//面积（平方米）
			dto.setAddr(vo.getAddr());//地址
			dto.setIsDel(vo.getIsDel());//是否删除（1：是，0：否）
			dto.setAssRlCdNm(vo.getAssRlCdNm());//与申请人关系名称
			dto.setmStsCdNm(vo.getmStsCdNm());//抵押状况名称
			dto.setNatureCdNm(vo.getNatureCdNm());// 权属性质名称
			dto.setCstRlCd(vo.getCstRlCd());//客户关系类型
			dto.setAssRem(vo.getAssRem());//备注
			dto.setOthAssTyp(vo.getOthAssTyp());//其他资产类型
			
			dto.setCrtTm(vo.getCrtTm());//创建时间
			dto.setCrtUsrId(vo.getCrtUsrId());//创建人
			dto.setMdfTm(vo.getMdfTm());//修改时间
			dto.setMdfUsrId(vo.getMdfUsrId());//修改人
		}
		return dto;
	}
	
	/**
	 * DTO集合 转 VO集合
	 * @param List<PrjCstAssMbInfoDTO>
	 * @return List<PrjCstAssMbInfoVO>
	 */
	public static List<PrjCstAssMbInfoVO> toVOList(List<PrjCstAssMbInfoDTO> list) {
		List<PrjCstAssMbInfoVO>  voList = new ArrayList<PrjCstAssMbInfoVO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjCstAssMbInfoDTO dto : list) {
				voList.add(toVO(dto));
			}
		}
		return voList;
	}
	
	/**
	 * VO集合 转 DTO集合
	 * @param list List<PrjCstAssMbInfoVO>
	 * @return List<PrjCstAssMbInfoDTO>
	 */
	public static List<PrjCstAssMbInfoDTO> toDTOList(List<PrjCstAssMbInfoVO> list) {
		List<PrjCstAssMbInfoDTO>  dtoList = new ArrayList<PrjCstAssMbInfoDTO>();
		if(CollectionUtils.isNotEmpty(list)){
			for (PrjCstAssMbInfoVO vo : list) {
				dtoList.add(toDTO(vo));
			}
		}
		return dtoList;
	}
}
